var COS = require('cos-nodejs-sdk-v5');
var redis = require('redis');
var fs =  require('fs')


var cos = new COS({
    SecretId: 'AKIDsWrvjH96h38xXqrf290d079uPyINatBz',
    SecretKey: 'hfKkvpTJyNWiOoxoOtGNoLkupxucBF3b'
});

var client = redis.createClient(6379,'127.0.0.1');
var newDate = new Date();
console.log('脚本重新启动中，日期：'+newDate.toLocaleDateString() + "--"+newDate.toLocaleTimeString())
main()


var i = 0;

async function main() {
	console.log("拿取数据开始——--，次数循环："+i)
  var s = await client.lpop('mmei_cos_files',function(i,v){
		if(v && v.indexOf('@@@')){
			var ss = v.split('@@@')
			var  tengxun_cos  = {
				Bucket: 'admin-miaomeimei-1301812909',
				Region: 'ap-guangzhou'
			}
			var params = {
				Bucket: tengxun_cos.Bucket,                         /* 必须 */
				Region: tengxun_cos.Region,                         /* 必须 */
				Key: ss[1],                                           /* 必须 */  // 存储库的文件名和路径
				FilePath: ss[0],                                /* 必须 */ // 本地路径和存储库
			}
			var date = new Date();
			//readMe = fs.readFileSync("./uploadsFile.log","utf8");
			fs.appendFileSync('./uploadsFile.log',"\r\n日期为："+new Date().toLocaleDateString()+"---"+date.toLocaleTimeString()+": ----"+JSON.stringify(ss));
			//console.log(cos)
			//  单文件上传
			cos.sliceUploadFile(params, function(err, data) {
			  if(err) {
				  console.log('错误信息如下',err)
				  fs.appendFileSync('./errorUploadsFiles.log',"\r\n日期为："+new Date().toLocaleDateString()+"---"+date.toLocaleTimeString()+": ----"+JSON.stringify(ss));
				//fs.unlinkSync(localFile);
				//res.end(JSON.stringify({status:'101',msg:'上传失败',error:JSON.stringify(err)}));   
			  } else {
				  // 默认为删除操作 如果文件存在
				  if(ss.length == 2 && fs.existsSync(ss[0])){
					fs.unlinkSync(ss[0]);
				  }
				  console.log(data)
				//fs.unlinkSync(localFile);
				//var imageSrc = 'http://devimage-1***********4.cossh.myqcloud.com/' + data.Key;
				//res.end(JSON.stringify({status:'100',msg:'上传成功',imageUrl:imageSrc}));
			  }
			  //process.exit()
			  console.log('操作ok-等待5秒----')
			  sleep(5 * 1000)
			  main()
			});
		}else{
			//process.exit()
			console.log('waitch-等待15秒----')
			sleep(15 * 1000)
			main()
		}
	});
	i++;
	//await sleep(3000)
}
/*
function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms))
}
*/

function sleep(n) {
    Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, n);
}

//exit;



/*
cos.getService(function(err, data) {
    //console.log(err || data);
});
*/




 // 腾讯云 文件上传
var  tengxun_cos  = {
	Bucket: 'admin-miaomeimei-1301812909',
	Region: 'ap-guangzhou'
}
var params = {
	Bucket: tengxun_cos.Bucket,                         /* 必须 */
	Region: tengxun_cos.Region,                         /* 必须 */
	Key: 'test.jpg',                                           /* 必须 */
	FilePath: './test.jpg',                                /* 必须 */
}
//console.log(cos)
//  单文件上传
/*
cos.sliceUploadFile(params, function(err, data) {
  if(err) {
	//fs.unlinkSync(localFile);
	//res.end(JSON.stringify({status:'101',msg:'上传失败',error:JSON.stringify(err)}));   
  } else {
	  console.log(data)
	//fs.unlinkSync(localFile);
	//var imageSrc = 'http://devimage-1***********4.cossh.myqcloud.com/' + data.Key;
	//res.end(JSON.stringify({status:'100',msg:'上传成功',imageUrl:imageSrc}));
  }
});
*/

/* 批量上传  */
//'/uploads/user/20200803/fe9a52591e9338908393eccb8c93067d.jpg'
/*
var files = {
	name: '', // 文件名
	path: '', // 路劲
}


const filePath1 = "./test.jpg" // 本地文件路径
const filePath2 = "./timg.jpg" // 本地文件路径
console.log(6666)
cos.uploadFiles({
    files: [{
        Bucket: tengxun_cos.Bucket,
        Region: tengxun_cos.Region,
        Key: filePath1,
        FilePath: filePath1,
    }, {
      Bucket: tengxun_cos.Bucket,
      Region: tengxun_cos.Region,
        Key: filePath2,
        FilePath: filePath2,
    }],
    //SliceSize: 1024 * 1024,
    onProgress: function (info) {
      console.log(333333333)
        var percent = parseInt(info.percent * 10000) / 100;
        var speed = parseInt(info.speed / 1024 / 1024 * 100) / 100;
        console.log('进度：' + percent + '%; 速度：' + speed + 'Mb/s;');
    },
    onFileFinish: function (err, data, options) {
      console.log(44444444444)
        console.log(options.Key + '上传' + (err ? '失败' : '完成'));
    },
}, function (err, data) {
  console.log(222222222222)
    console.log(err || data);
});
*/